home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1986 May
/
Ahoy_Magazine_86-05_1986_Double_L.d64
/
english darts
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
5KB
|
154 lines
1 rem: ***english darts***
2 :
5 rem: ***initialization***
7 :
10 c$=chr$(147):d$=chr$(17):h$=chr$(19):f$=chr$(144):rf$=chr$(146):ro$=chr$(18)
20 c1$=chr$(28):c2$=chr$(30):c3$=chr$(31):c4$=chr$(156):c5$=chr$(158):bc=53280
30 c6$=chr$(159):v=53248:cl=646:s=102:na$="*english darts*":a$="":sn$="":b$=""
40 rd=1:poke53281,1:pokebc,9:fork=0to62:reada:poke832+k,a:next
50 fork=0to62:reada:poke896+k,a:next:fork=49152to49245:reada:pokek,a:next
60 poke49152+19,0:poke2041,13:poke2042,14:poke2043,14:poke2044,14:sys49152
62 :
65 rem: ***billboard***
67 :
70 gosub750:gosub620:print:print:printf$tab(12)na$:gosub740
80 printc2$ro$tab(13)" which game? ":print:printtab(8)"301 "ro$" <1> ";
90 printrf$" or 501 "ro$" <2> ":print
100 getk$:k=val(k$):ifk<1ork>2then100
110 ifk=1thenga=301:goto130
120 ga=501
130 printro$tab(7)" number of players? "rf$" (1-7)"
140 getk$:z=val(k$):ifz<1orz>7then140
150 gosub650
152 :
155 rem: ***screen print***
157 :
160 pokebc,1:printh$ro$" "na$" ":rem* -11- and -8- spaces
170 printc5$ro$" player number "rf$pp;
180 printc3$ro$tab(20)" dart number "rf$th
190 printc4$ro$" round score "rf$rs;
200 printc1$ro$tab(20)" round number "rf$rd
210 printc2$ro$" current score "rf$tp(pp);
220 printc6$ro$tab(20)" # of players "rf$z:gosub740:fork=1toz:cc=k+1:pokecl,cc
230 printro$tab(21)" player # "rf$k;:printtp(k):next:gosub740
240 printc4$tab(1)a$:print:printf$tab(7)sn$:print:printc4$tab(4)b$:print
245 ifth>3thengosub720:fork=1to9:pokev+k,0:next:gosub650:goto160
250 poke198,0:gosub720:printc5$"press "ro$f$"<key>"rf$c5$" to toss"
252 :
255 rem: ***throw sequence***
257 :
260 fork=1664to1683:pokek,32:next:fork=1744to1763:pokek,32:next
270 fork=1824to1843:pokek,32:next:ifth=1thenq=4:w=5:y=215:g=6:goto300
280 ifth=2thenq=6:w=7:y=211:g=14:goto300
290 ifth=3thenq=8:w=9:y=219:g=30
300 pokev+21,g:pokev+23,2:pokev+29,28:fork=1toz:ifk=ppthencc=k+1:goto320
310 next
320 pokev+40,11:fork=41to43:pokev+k,cc:next:pokev+2,255:pokev+3,90
330 forl=90to110:pokev+q,30:pokev+w,l:ifpeek(198)=1then370
340 fort=1to10:nextt:nextl
350 forl=110to90step-1:pokev+q,30:pokev+w,l:ifpeek(198)=1then370
360 fort=1to10:nextt:nextl:goto330
370 fork=1904to1923:pokek,32:next:pokev+q,0:pokev+w,0:poke198,0:pokev+21,g
380 fork=30toy:pokev+q,k:pokev+w,l:next:gosub730:r=n:gosub730:d=n
390 a=0:fork=80to99:a=a+1:ifl=kthen430
400 next
410 a=21:fork=101to110:a=a-2:ifl=kthen430
420 next:ifl=100thena=50
430 ifa=50thenb=a:a$="you threw a...":sn$="bullseye!":goto480
440 ifa=randa=dthenb=a*3:a$="you threw a triple":goto470
450 ifa=rthenb=a*2:a$="you threw a double":goto470
460 b=a:a$="you threw a single"
470 sn$=str$(a)
480 b$="for"+str$(b)+" points":tp(pp)=tp(pp)+b:rs=rs+b
485 iftp(pp)=gathenfork=1to9:pokev+k,0:next:goto560
490 iftp(pp)>gathenfork=1to9:pokev+k,0:next:goto520
500 th=th+1:goto160
512 :
515 rem: ***broke statement***
517 :
520 pokebc,2:gosub750:gosub620:gosub740
530 printc4$tab(14)"you threw"b:print:printtab(18)"and":print
540 printf$tab(14)"b*r*o*k*e!!":printc4$:gosub720:tp(pp)=tp(pp)-b
550 rs=0:th=1:gosub650:fork=1to9:pokev+k,0:next:goto160
552 :
555 rem: ***winner statement***
557 :
560 pokebc,5:gosub750:gosub620:gosub740:printc4$tab(5)na$" winner is..."
570 print:gosub720:printf$tab(10)"player number"pp:print
572 print:printc4$tab(8)"see final scores? (y/n)"
574 getk$:ifk$=""then574
576 ifk$="y"thenpp=z:nu=1:goto650
577 ifk$="n"then580
578 ifk$<>"y"ork$<>"n"then574
579 gosub740
580 print:printc5$ro$tab(10)" play again? "rf$" (y/n)"
590 getk$:ifk$=""then590
595 ifk$="y"thenclr:goto10
600 printc$:gosub740:printc2$tab(12)na$:print:printtab(17)"e*n*d":gosub720
610 pokev+21,0:printc$:end
612 :
615 rem: ***sprite logo***
617 :
620 pokev+21,30:pokev+23,2:pokev+29,28:pokev+40,12:pokev+41,11:pokev+42,12
630 pokev+43,15:pokev+2,180:pokev+3,100:pokev+4,144:pokev+5,104:pokev+6,147
640 pokev+7,111:pokev+8,142:pokev+9,118:return
642 :
645 rem: ***next player/box score subroutine***
647 :
650 pokebc,5:gosub750:gosub620:th=1:rs=0:pp=pp+1:ifpp>zthen680
660 gosub740:printc2$tab(8)"player number"f$pp;:printc2$"up next":gosub720
670 fork=1to9:pokev+k,0:next:a$="":sn$="":b$="":printc$:return
680 print:print:printc2$ro$tab(4)" player number "tab(25)" points ":print:print
690 fork=1toz:cc=k+1:pokecl,cc:printtab(10)k;:printtab(26)tp(k):print:next
700 printh$:fork=1to22:printd$;:next:printc4$ro$tab(12)" press any key "
710 poke198,0:wait198,1:poke198,0:rd=rd+1:pp=0:ifnu=1thengosub750:goto579
711 goto650
712 :
715 rem: ***time delay subroutine***
717 :
720 fort=1to1500:next:return
722 :
725 rem: ***random subroutine***
727 :
730 n=int(20*rnd(0))+1:return
732 :
735 rem: ***center subroutine***
737 :
740 printh$:fork=1to15:printd$;:next:return
742 :
745 rem: ***border subroutine***
747 :
750 printc$:pokecl,7:fork=1024to1063:pokek,s:next:fork=1024to1984step40:pokek,s
760 next:fork=1063to2023step40:pokek,s:next:fork=1984to2023:pokek,s:next:return
762 :
765 rem: ***data***
767 :
770 data0,16,0,0,56,0,0,85
771 data0,0,146,0,1,17,0,2
772 data56,128,5,85,64,8,146,32
773 data17,85,16,34,56,136,127,255
774 data252,34,56,136,17,85,16,8
775 data146,32,5,85,64,2,56,128
776 data1,17,0,0,146,0,0,84
777 data0,0,56,0,0,16,0,0
778 data0,0,0,0,0,0,0,0
779 data0,0,0,0,0,0,0,0
780 data0,0,0,0,240,0,0,127
781 data0,0,63,254,0,31,255,255
782 data63,254,0,127,0,0,254,0
783 data0,0,0,0,0,0,0,0
784 data0,0,0,0,0,0,0,0
785 data0,0,0,0,0,0,173,21
786 data192,141,22,192,120,169,24,141
787 data20,3,169,192,141,21,3,88
788 data96,5,0,20,0,0,206,22
789 data192,208,61,173,21,192,141,22
790 data192,173,33,208,41,15,141,20
791 data192,160,0,132,251,169,216,133
792 data252,238,23,192,173,23,192,41
793 data1,170,177,251,41,15,205,19
794 data192,240,5,205,20,192,208,5
795 data189,19,192,145,251,200,208,234
796 data230,252,165,252,201,220,208,226
797 data76,49,234,52